#ifndef CHAT_H
#define CHAT_H

#include <QWidget>
#include<QTcpSocket>
#include<QByteArray>
#include <QFileDialog>
#include <QFile>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlError>
#include<QMessageBox>
#include <QtMultimedia/QSound>//音效库
#include <QTableWidgetItem>
#include <QTableWidget>
#include <QDateTime>
#include <QTimer>
#include <QDebug>
#include "user.h"
#include "mainwindow.h"
#include "fileclient.h"

extern User mainuser;


namespace Ui {
class Chat;
}

class Chat : public QWidget
{
    Q_OBJECT

public:
    explicit Chat(QTcpSocket* s,QWidget *parent = nullptr);
    ~Chat();

private slots:
    void dealClientRead();
    void on_clearButton_clicked();
    void on_sendButton_clicked();
    void dealPack(QByteArray b);
    void selectFile(); // 点击选择文件的图标触发的函数
    void sendMessage();// 点击发送信息触发的函数
    void on_colorpushButton_clicked();//修改主题色
    void on_closeButton_clicked();
    void on_changeButton_clicked();
    void on_pushButton_clicked();
private:
    Ui::Chat *ui;
    fileclient *file_sender; // 文件发送界面
    QTcpSocket *socket;
    QByteArray m_data;//包的数据
    int packlen;//包的长度
    QString m_filePath="file";
    int i=1;//初始化头像循环
    QSqlDatabase db;
    bool fileRec =false;
};

#endif // CHAT_H
